package com.CRApp.mapper;

import com.CRApp.pojo.Posts;
import com.CRApp.pojo.PostDetailsDTO;
import com.CRApp.pojo.Comment;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @ClassName: PostsMapper
 * @Author : LuoFan洛樊
 * @Date : 2025/3/29 - 16:10
 * Description : TODO
 */
@Mapper
public interface PostsMapper {
    List<Posts> getPostsList(@Param("currentUserId") Integer currentUserId);


    PostDetailsDTO getPostDetails(Integer postId);

    List<Comment> getPostComments(Integer postId);

    void addComment(@Param("comment") Comment comment);

    // 插入推文
    void insertPost(@Param("post") Posts post);

    // 插入推文图片
    void insertPostImages(@Param("postId") Integer postId, @Param("imageUrls") List<String> imageUrls);

    // 检查是否已收藏
    boolean checkCollection(@Param("userId") Integer userId, @Param("postId") Integer postId);

    // 添加收藏
    void addCollection(@Param("userId") Integer userId, @Param("postId") Integer postId);

    // 取消收藏
    void removeCollection(@Param("userId") Integer userId, @Param("postId") Integer postId);

    // 获取用户收藏的推文列表
    List<Posts> getUserCollections(@Param("userId") Integer userId);
}
